Streaming media generally refers to media content that is, or at least may be, played via playback software or a playback device at the same time that the media content is being downloaded from a source such as a media server. Streaming media content, e.g., video and audio content, may be provided according to a variety of standards and formats. For example, video standards such as QuickTime and RealMedia, and also standards promulgated by the Motion Picture Experts Group (MPEG), etc. are well known.
Many standards for streaming media content, such as MPEG streaming content delivery, were designed with dual objectives of (1) preserving network bandwidth and (2) maintaining video quality. However, MPEG and most other kinds of media streams are not designed with an objective of timely delivery of content, e.g., diminishing latency. For example, at present, content processing devices such as set top boxes (STBs) generally use MPEG and are designed to deliver a complete video stream at the expense of latency.
A media stream such as an MPEG stream reaching a STB can potentially face network jitter which can cause excessive storage of media frames, e.g., video frames, in a buffer in the STB. Frames received by the STB are not displayed until all the prior frames are displayed. However, in some contexts, e.g., interactive applications such as gaming, users expect timely updates on their video displays in response to a key press. At present, latencies caused by jitter often leave users with a video stream that is unsatisfactory for supporting applications in a variety of contexts.
Online gaming is one context in which media stream latencies may result in an unsatisfactory user experience. For example, when gaming is provided through a content processing device such as a set top box (STB) or the like, a game session is delivered to the STB as an MPEG video stream or the like through a packet switched network from a game server in a Video Hub Office (VHO). That is, the game session is conducted on the game server but is presented, through the MPEG stream, by the STB. Accordingly, the game session is encoded as an MPEG stream and streamed to the STB over the network. The MPEG stream is decoded by the STB and then displayed on a media playback device such as a television or video monitor. User inputs to the game are gathered through an input device such as a radio frequency (RF) or infrared remote control, a universal serial bus (USB) gamepad, etc. User inputs are then sent back to the game server over the packet switched network. The game server receives the user inputs and provides them to the game session for processing, thereby altering the output video stream where appropriate based on the inputs. Latencies in the MPEG stream may cause user inputs to be ill timed and/or ineffective, thus rendering the gaming experience unsatisfactory for the user.
In sum, many standards for providing streaming media, such as MPEG streaming content delivery, were designed with traditional objectives of preserving network bandwidth and maintaining video quality. However, as is the case with many media streams, MPEG video streams are not designed with an objective of timely delivery of content, e.g., diminishing latency. For example, at present, content processing devices such as set top boxes (STBs) are designed to deliver an uninterrupted video stream at the expense of latency.